# coding=utf-8
import time

import allure
from appium.webdriver.common.appiumby import AppiumBy

from app_auto_po.basepage.app import WeWorkApp
from app_auto_po.page.address_page import AddressPage
from app_auto_po.page.person_info_page import PersonInfoPage
from app_auto_po.utils.log_util import logger


class SearchPage(WeWorkApp):

    # __INPUT = AppiumBy.XPATH,'//*[@text="搜索"]'
    __INPUT = AppiumBy.XPATH,'//*[@resource-id="com.tencent.wework:id/jn1"]'
    __MEMBER_INFO = AppiumBy.XPATH,'//*[@resource-id="com.tencent.wework:id/jok"]//*[@class="android.widget.RelativeLayout"]//*[@text="zwx"]'


    # 输入成员信息，进行搜素成员，搜索后停留在当前页面
    @allure.step("输入成员信息，进行搜素成员，搜索后停留在当前页面")
    def search_member(self,name):
        # 搜索框输入 zwx
        self.input(*self.__INPUT,name)
        logger.info("输入成员信息，进行搜素成员，搜索后停留在当前页面")
        return self


    # 获取当前搜索到的成员信息
    @allure.step("获取当前搜索到的成员信息")
    def get_member_info(self,name):
        # 获取搜索列表的内容，判断是否搜索成功
        eles = self.get_eles(
            AppiumBy.XPATH,
            f'//*[@resource-id="com.tencent.wework:id/jok"]//*[@class="android.widget.RelativeLayout"]//*[@text="{name}"]')
        # 查询结果
        member_info = [ele.text for ele in eles]
        logger.info(f"查询到的成员信息：{member_info}")
        return member_info


    # 点击成员，进入成员信息页面
    @allure.step("进入成员信息页面")
    def goto_parson_info_page(self,name):
        logger.info("进入成员信息页面")
        self.click(
            AppiumBy.XPATH,
            f'//*[@resource-id="com.tencent.wework:id/jok"]//*[@class="android.widget.RelativeLayout"]//*[@text="{name}"]')
        return PersonInfoPage(self.driver)


    # 返回通讯录页面
    @allure.step("返回通讯录页面")
    def back_adress_page(self):
        self.to_back()
        logger.info("返回通讯录页面")
        return AddressPage(self.driver)